feat(installer): add standalone Windows .exe installer (vp-setup.exe)#1293
feat(installer): add standalone Windows .exe installer (vp-setup.exe)#1293
Conversation
✅ Deploy Preview for viteplus-preview canceled.
|
How to use the Graphite Merge QueueAdd the label auto-merge to this PR to add it to the merge queue. You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
1b3a6a3 to
4dc36b5
Compare
672909f to
816d7f1
Compare
|
|
||
| ## Code Signing | ||
|
|
||
| Windows Defender SmartScreen flags unsigned executables downloaded from the internet. This is a significant UX problem for a download-and-run installer. |
There was a problem hiding this comment.
@Brooooooklyn @yyx990803 Has the digital signature certificate been approved? This feature requires it.
4fe6fd3 to
a87b42c
Compare
Manual Testing Plan:
|
This comment was marked as outdated.
This comment was marked as outdated.
a8c95ab to
aa5dfc2
Compare
This comment was marked as outdated.
This comment was marked as outdated.
e88ee5c to
29f821e
Compare
This comment was marked as outdated.
This comment was marked as outdated.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 29f821e61f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
29f821e to
ac2513f
Compare
|
https://deploy-preview-1293--viteplus-preview.netlify.app/vp-setup downloader works now |
ff4b269 to
9af5ac7
Compare
Add a standalone `vp-setup.exe` Windows installer that installs the vp CLI without requiring PowerShell, complementing the existing `install.ps1`. Architecture: - New `vite_setup` shared library crate extracting installation logic (platform detection, registry queries, integrity verification, tarball extraction, symlink/junction management) from `vite_global_cli` - New `vite_installer` binary crate producing `vp-setup.exe` Features: - Interactive menu with customize submenu (version, registry, Node.js manager, PATH modification) - Silent mode via `-y` or auto-detected CI environment - Node.js manager auto-detection matching install.ps1/install.sh logic - Same-version repair (skips download, reruns post-activation setup) - Windows PATH modification via `winreg` crate - DLL security mitigations (build.rs linker flag + runtime SetDefaultDllDirectories) - ANSI color support with fallback for legacy Windows consoles - Respects NO_COLOR env var - Post-activation steps are best-effort (non-fatal) - "Press Enter to close..." pause in interactive mode - VP_HOME propagated to child processes for custom install dirs CI: - Build + cache installer in release workflow - Attach as GitHub Release assets - Test job in test-standalone-install.yml Docs: - RFC at rfcs/windows-installer.md - Installation guide updated with vp-setup.exe download link - SmartScreen warning guide added Closes #1293
8c3e6f5 to
ead0919
Compare
Add a standalone `vp-setup.exe` Windows installer that installs the vp CLI without requiring PowerShell, complementing the existing `install.ps1`. Architecture: - New `vite_setup` shared library crate extracting installation logic (platform detection, registry queries, integrity verification, tarball extraction, symlink/junction management) from `vite_global_cli` - New `vite_installer` binary crate producing `vp-setup.exe` Features: - Interactive menu with customize submenu (version, registry, Node.js manager, PATH modification) - Silent mode via `-y` or auto-detected CI environment - Node.js manager auto-detection matching install.ps1/install.sh logic - Same-version repair (skips download, reruns post-activation setup) - Windows PATH modification via `winreg` crate - DLL security mitigations (build.rs linker flag + runtime SetDefaultDllDirectories) - ANSI color support with fallback for legacy Windows consoles - Respects NO_COLOR env var - Post-activation steps are best-effort (non-fatal) - "Press Enter to close..." pause in interactive mode - VP_HOME propagated to child processes for custom install dirs CI: - Build + cache installer in release workflow - Attach as GitHub Release assets - Test job in test-standalone-install.yml Docs: - RFC at rfcs/windows-installer.md - Installation guide updated with vp-setup.exe download link - SmartScreen warning guide added Closes #1293
ead0919 to
e4b8fe2
Compare
Add a standalone `vp-setup.exe` Windows installer that installs the vp CLI without requiring PowerShell, complementing the existing `install.ps1`. Architecture: - New `vite_setup` shared library crate extracting installation logic (platform detection, registry queries, integrity verification, tarball extraction, symlink/junction management) from `vite_global_cli` - New `vite_installer` binary crate producing `vp-setup.exe` Features: - Interactive menu with customize submenu (version, registry, Node.js manager, PATH modification) - Silent mode via `-y` or auto-detected CI environment - Node.js manager auto-detection matching install.ps1/install.sh logic - Same-version repair (skips download, reruns post-activation setup) - Windows PATH modification via `winreg` crate - DLL security mitigations (build.rs linker flag + runtime SetDefaultDllDirectories) - ANSI color support with fallback for legacy Windows consoles - Respects NO_COLOR env var - Post-activation steps are best-effort (non-fatal) - "Press Enter to close..." pause in interactive mode - VP_HOME propagated to child processes for custom install dirs CI: - Build + cache installer in release workflow - Attach as GitHub Release assets - Test job in test-standalone-install.yml Docs: - RFC at rfcs/windows-installer.md - Installation guide updated with vp-setup.exe download link - SmartScreen warning guide added Closes #1293
e4b8fe2 to
2ece316
Compare
Add a standalone `vp-setup.exe` Windows installer that installs the vp CLI without requiring PowerShell, complementing the existing `install.ps1`. Architecture: - New `vite_setup` shared library crate extracting installation logic (platform detection, registry queries, integrity verification, tarball extraction, symlink/junction management) from `vite_global_cli` - New `vite_installer` binary crate producing `vp-setup.exe` Features: - Interactive menu with customize submenu (version, registry, Node.js manager, PATH modification) - Silent mode via `-y` or auto-detected CI environment - Node.js manager auto-detection matching install.ps1/install.sh logic - Same-version repair (skips download, reruns post-activation setup) - Windows PATH modification via `winreg` crate - DLL security mitigations (build.rs linker flag + runtime SetDefaultDllDirectories) - ANSI color support with fallback for legacy Windows consoles - Respects NO_COLOR env var - Post-activation steps are best-effort (non-fatal) - "Press Enter to close..." pause in interactive mode - VP_HOME propagated to child processes for custom install dirs CI: - Build + cache installer in release workflow - Attach as GitHub Release assets - Test job in test-standalone-install.yml Docs: - RFC at rfcs/windows-installer.md - Installation guide updated with vp-setup.exe download link - SmartScreen warning guide added Closes #1293
2ece316 to
7fa71e2
Compare
Add a standalone `vp-setup.exe` Windows installer that installs the vp CLI without requiring PowerShell, complementing the existing `install.ps1`. Architecture: - New `vite_setup` shared library crate extracting installation logic (platform detection, registry queries, integrity verification, tarball extraction, symlink/junction management) from `vite_global_cli` - New `vite_installer` binary crate producing `vp-setup.exe` Features: - Interactive menu with customize submenu (version, registry, Node.js manager, PATH modification) - Silent mode via `-y` or auto-detected CI environment - Node.js manager auto-detection matching install.ps1/install.sh logic - Same-version repair (skips download, reruns post-activation setup) - Windows PATH modification via `winreg` crate - DLL security mitigations (build.rs linker flag + runtime SetDefaultDllDirectories) - ANSI color support with fallback for legacy Windows consoles - Respects NO_COLOR env var - Post-activation steps are best-effort (non-fatal) - "Press Enter to close..." pause in interactive mode - VP_HOME propagated to child processes for custom install dirs CI: - Build + cache installer in release workflow - Attach as GitHub Release assets - Test job in test-standalone-install.yml Docs: - RFC at rfcs/windows-installer.md - Installation guide updated with vp-setup.exe download link - SmartScreen warning guide added Closes #1293
7fa71e2 to
ba538e1
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ba538e199b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Add a standalone `vp-setup.exe` Windows installer that installs the vp CLI without requiring PowerShell, complementing the existing `install.ps1`. Architecture: - New `vite_setup` shared library crate extracting installation logic (platform detection, registry queries, integrity verification, tarball extraction, symlink/junction management) from `vite_global_cli` - New `vite_installer` binary crate producing `vp-setup.exe` Features: - Interactive menu with customize submenu (version, registry, Node.js manager, PATH modification) - Silent mode via `-y` or auto-detected CI environment - Node.js manager auto-detection matching install.ps1/install.sh logic - Same-version repair (skips download, reruns post-activation setup) - Windows PATH modification via `winreg` crate - DLL security mitigations (build.rs linker flag + runtime SetDefaultDllDirectories) - ANSI color support with fallback for legacy Windows consoles - Respects NO_COLOR env var - Post-activation steps are best-effort (non-fatal) - "Press Enter to close..." pause in interactive mode - VP_HOME propagated to child processes for custom install dirs CI: - Build + cache installer in release workflow - Attach as GitHub Release assets - Test job in test-standalone-install.yml Docs: - RFC at rfcs/windows-installer.md - Installation guide updated with vp-setup.exe download link - SmartScreen warning guide added Closes #1293
ba538e1 to
3376eb0
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 3376eb0089
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Add a standalone `vp-setup.exe` Windows installer that installs the vp CLI without requiring PowerShell, complementing the existing `install.ps1`. Architecture: - New `vite_setup` shared library crate extracting installation logic (platform detection, registry queries, integrity verification, tarball extraction, symlink/junction management) from `vite_global_cli` - New `vite_installer` binary crate producing `vp-setup.exe` Features: - Interactive menu with customize submenu (version, registry, Node.js manager, PATH modification) - Silent mode via `-y` or auto-detected CI environment - Node.js manager auto-detection matching install.ps1/install.sh logic - Same-version repair (skips download, reruns post-activation setup) - Windows PATH modification via `winreg` crate - DLL security mitigations (build.rs linker flag + runtime SetDefaultDllDirectories) - ANSI color support with fallback for legacy Windows consoles - Respects NO_COLOR env var - Post-activation steps are best-effort (non-fatal) - "Press Enter to close..." pause in interactive mode - VP_HOME propagated to child processes for custom install dirs CI: - Build + cache installer in release workflow - Attach as GitHub Release assets - Test job in test-standalone-install.yml Docs: - RFC at rfcs/windows-installer.md - Installation guide updated with vp-setup.exe download link - SmartScreen warning guide added Closes #1293
3376eb0 to
2e26da4
Compare
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2e26da4d31
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| install::install_production_deps( | ||
| &version_dir, | ||
| opts.registry.as_deref(), | ||
| opts.quiet, |
There was a problem hiding this comment.
Use non-interactive flag for release-age prompt gating
vp-setup -y is documented as non-interactive, but this call passes opts.quiet into install_production_deps, so the release-age fallback prompt is still shown whenever -y is used without -q and stdin/stderr are terminals. In that case unattended installs can block waiting for input instead of honoring --yes defaults; pass a non-interactive signal (e.g. opts.yes) rather than the quiet flag.
Useful? React with 👍 / 👎.




Add a standalone
vp-setup.exeWindows installer binary that installsthe vp CLI without requiring PowerShell, complementing the existing
irm https://vite.plus/ps1 | iexscript-based installer.vite_setupshared library crate extracting installation logic(platform detection, registry queries, integrity verification, tarball
extraction, symlink/junction management) from
vite_global_clivite_installerbinary crate producingvp-setup.exewithinteractive prompts, silent mode (-y), progress bars, and Windows PATH
modification via direct registry API (no PowerShell dependency)
vite_global_clito usevite_setupinstead of inline upgrademodules, ensuring upgrade and installer share identical logic
as GitHub Release assets